﻿using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace ICU
{
    public interface Plugin : IDisposable
    {
        public event EventHandler<UserSendMessageEventArgs> UserSendMessageEvent;
        public event EventHandler<UserSendGroupMessageEventArgs> UserSendGroupMessageEvent;
        public event EventHandler<UserSendUserMessageEventArgs> UserSendUserMessageEvent;
        public event EventHandler<UserLoginEventArgs> UserLoginEvent;
        public event EventHandler<UserLogoutEventArgs> UserLogoutEvent;
        public event EventHandler<PluginEnableEventArgs> PluginEnableEvent;
        public event EventHandler<PluginDisableEventArgs> PluginDisableEvent;
        public IServer.Logger GetLogger();
        public string Name { get; }
        public string Description { get; }
        public string[] Author { get; }
        public Version Version { get; }
        public string HomePage { get; }
        public string UpdateUrl { get; }
        public string[] Commands { get; }
    }
}
